在fortran2008标准中新添加了一种block结构,该结构允许程序在block里定义新的局部变量以及操作。对于某些程序很长的程序,可以分解成几个block,然后在每个block里面定义变量以及操作。这样逻辑更加清晰,并且block里面的局部变量的获取速度会快很多。
block 结构
block里面可以直接使用以及修改全局的变量,block里面的局部变量名称可以与全局变量名称一致,对于名称相同的变量,block里面只会修改局部变量,对全局变量没有影响。
|
|
结果
|
|
可以看出局部变量的修改不会影响全局变量,局部对全局变量的修改会影响全局变量。
do concurrent
do comcurrent是指每个循环之间没有依赖的循环,使用do concurrent说明这种循环可以使处理器更容易对循环进行并行处理,以提高效率。由于block里面的局部变量获取速度更快,所以可以在do comcurrent循环里面定义block,得到更高的效率。
|
|
结果
|
|